@echo off
chcp 65001 >nul
echo ======================================
echo 测试步骤3 - 最终修复（不重复创建）
echo ======================================
echo.
echo 问题：
echo   步骤3提交后生成了2条待办任务（重复）
echo.
echo 根本原因：
echo   submitTermination 调用了 accraditationRecordService.insertAccraditationRecord
echo   而 insertAccraditationRecord 内部也会创建待办任务
echo   导致重复创建
echo.
echo 解决方案：
echo   ✅ 直接使用 Mapper 插入审批记录
echo   ✅ 避免执行 Service 层的重复逻辑
echo.
echo ======================================
echo 测试步骤：
echo ======================================
echo.
echo 步骤1：重启后端服务（必须！）
echo   restart_backend.bat
echo.
echo 步骤2：清理测试数据
echo   DELETE FROM pending_tasks WHERE bussniess_id = 103;
echo.
echo 步骤3：创建步骤3的待办任务
echo   INSERT INTO pending_tasks 
echo   (bussniess_id, task_id, title, type, assignee, assignee_id, 
echo    status, application_time, applicat, applicat_id, is_handle, step_no)
echo   VALUES 
echo   (103, 'test-task-step3', '林老八退住申请', 1, '100', 100, 
echo    1, NOW(), 'admin', 1, 0, 3);
echo.
echo 步骤4：待办任务列表
echo   找到步骤3的任务（is_handle=0）
echo.
echo 步骤5：点击"处理"并提交
echo   - 填写解除日期
echo   - 上传文件
echo   - 点击提交
echo.
echo 步骤6：查看后端日志
echo   应该看到：
echo   ✅ 保存审批记录（步骤3）- 使用Mapper直接插入
echo   ✅ 创建待办任务（步骤4）
echo      步骤号: 4
echo      状态: is_handle=0
echo.
echo 步骤7：验证数据库
echo   SELECT id, step_no, is_handle, title, finish_time
echo   FROM pending_tasks 
echo   WHERE bussniess_id = 103
echo   ORDER BY step_no;
echo.
echo   预期结果（只有2条）：
echo   - 1条步骤3：is_handle=1, finish_time有值
echo   - 1条步骤4：is_handle=0, finish_time为null
echo.
echo   统计步骤3的数量（应该=1）：
echo   SELECT COUNT(*) FROM pending_tasks 
echo   WHERE bussniess_id = 103 AND step_no = 3;
echo.
echo   统计步骤4的数量（应该=1）：
echo   SELECT COUNT(*) FROM pending_tasks 
echo   WHERE bussniess_id = 103 AND step_no = 4;
echo.
echo 步骤8：刷新待办任务列表
echo   应该只看到：
echo   - 1条步骤3的任务：is_handle=1（已完成）
echo   - 1条步骤4的任务：is_handle=0（待处理）
echo   ✅ 没有重复的数据！
echo.
echo ======================================
echo 代码修改总结：
echo ======================================
echo.
echo CheckOutManagementServiceImpl.java:
echo.
echo 1. 注入 Mapper（第49-50行）：
echo    @Autowired
echo    private AccraditationRecordMapper accraditationRecordMapper;
echo.
echo 2. 使用 Mapper 直接插入（第345-347行）：
echo    修改前：
echo      accraditationRecordService.insertAccraditationRecord(record);
echo.
echo    修改后：
echo      record.setCreateTime(new Date());
echo      accraditationRecordMapper.insertAccraditationRecord(record);
echo.
pause

